<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="aluno")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\AlunoRepository")
 */
class AlunoNew extends UtilsEntity {

    public function __construct($options = null) {
        if (!is_null($options))
            Configurator::configure($this, $options);
    }

    /**
     * @var $sqPessoa
     * @ORM\Id
     * @ORM\Column(name="sq_pessoa", type="bigint", nullable=false)
     */
    protected $sqPessoa;

    /**
     * @var string $coCadastro
     * @ORM\Column(name="co_cadastro", type="text", nullable=false)
     */
    protected $coCadastro;

    /**
     * @var boolean $inEstuda
     * @ORM\Column(name="in_estuda", type="boolean", nullable=false)
     */
    protected $inEstuda;

    /**
     * @var boolean $inTrabalha
     * @ORM\Column(name="in_trabalha", type="boolean", nullable=false)
     */
    protected $inTrabalha;

//    /**
//     * @var bigint $sqGrauEscolaridade
//     * @ORM\Column(name="sq_grau_escolaridade", type="bigint", nullable=true)
//     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\GrauEscolaridade", inversedBy="sq_grau_escolaridade")
//     * @ORM\JoinColumn(name="sq_grau_escolaridade", referencedColumnName="sq_grau_escolaridade")
//     */
//    protected $sqGrauEscolaridade;

    /**
     * @var bigint $sqProfisso
     * @ORM\Column(name="sq_profissao", type="bigint", nullable=true)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Profissao", inversedBy="sq_profissao")
     * @ORM\JoinColumn(name="sq_profissao", referencedColumnName="sq_profissao")
     */
    protected $sqProfissao;

    /**
     * @var bigint $sqRendaFamiliar
     * @ORM\Column(name="sq_renda_familiar", type="bigint", nullable=true)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\RendaFamiliar", inversedBy="sq_renda_familiar")
     * @ORM\JoinColumn(name="sq_renda_familiar", referencedColumnName="sq_renda_familiar")
     */
    protected $sqRendaFamiliar;

    /**
     * @var bigint $sqInstituicaoEnsino
     * @ORM\Column(name="sq_instituicao_ensino", type="bigint", nullable=true)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\InstituicaoEnsino", inversedBy="sq_renda_familiar")
     * @ORM\JoinColumn(name="sq_instituicao_ensino", referencedColumnName="sq_instituicao_ensino")
     */
    protected $sqInstituicaoEnsino;

    /**
     * @var boolean $inPlanoSaude
     * @ORM\Column(name="in_plano_saude", type="text", nullable=false)
     */
    protected $inPlanoSaude;

    /**
     * @var bigint $sqPlanoSaude
     * @ORM\Column(name="sq_plano_saude", type="bigint", nullable=true)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\PlanoSaude", inversedBy="sq_plano_saude")
     * @ORM\JoinColumn(name="sq_plano_saude", referencedColumnName="sq_plano_saude")
     */
    protected $sqPlanoSaude;

//    /**
//     * @var string $noPlanoSaude
//     * @ORM\Column(name="no_plano_saude", type="text", nullable=true)
//     */
//    protected $noPlanoSaude;

    /**
     * @var bigint $sqTipoSanguineo
     * @ORM\Column(name="sq_tipo_sanguineo", type="bigint", nullable=true)
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\TipoSanguineo", inversedBy="sq_tipo_quanguineo")
     * @ORM\JoinColumn(name="sq_tipo_quanguineo", referencedColumnName="sq_tipo_quanguineo")
     */
    protected $sqTipoSanguineo;

    /**
     * @var boolean $inPortadorNecessidade
     * @ORM\Column(name="in_portador_necessidade", type="text", nullable=false)
     */
    protected $inPortadorNecessidade;

    /**
     * @var string $dePortadorNecessidade
     * @ORM\Column(name="de_portador_necessidade", type="text", nullable=true)
     */
    protected $dePortadorNecessidade;

    /**
     * @var boolean $inRemedioControlado
     * @ORM\Column(name="in_remedio_controlado", type="text", nullable=false)
     */
    protected $inRemedioControlado;

    /**
     * @var string $deRemedioControlado
     * @ORM\Column(name="de_remedio_controlado", type="text", nullable=true)
     */
    protected $deRemedioControlado;

    /**
     * @var boolean $inPossuiAlergia
     * @ORM\Column(name="in_possui_alergia", type="text", nullable=false)
     */
    protected $inPossuiAlergia;

    /**
     * @var string $deAlergia
     * @ORM\Column(name="de_alergia", type="text", nullable=true)
     */
    protected $deAlergia;

    /**
     * @var datetime $dtInscricao
     * @ORM\Column(name="dt_inscricao", type="datetime", nullable=false)
     */
    protected $dtInscricao;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

//    /**
//     * @var $sqAlunoPessoa
//     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Pessoa", inversedBy="sq_pessoa")
//     * @ORM\JoinColumn(name="sq_pessoa", referencedColumnName="sq_pessoa")
//     */
//    protected $sqAlunoPessoa;

//    public function getSqAlunoPessoa() {
//        return $this->sqAlunoPessoa;
//    }
//
//    public function setSqAlunoPessoa($sqAlunoPessoa) {
//        $this->sqAlunoPessoa = $sqAlunoPessoa;
//    }

    public function getSqPessoa() {
        return $this->sqPessoa;
    }

    public function setSqPessoa($sqPessoa) {
        $this->sqPessoa = $sqPessoa;
    }

    public function getCoCadastro() {
        return $this->coCadastro;
    }

    public function setCoCadastro($coCadastro) {
        $this->coCadastro = $coCadastro;
        return $this;
    }

    public function getInEstuda() {
        return $this->inEstuda;
    }

    public function setInEstuda($inEstuda) {
        $this->inEstuda = $inEstuda;
        return $this;
    }

    public function getInTrabalha() {
        return $this->inTrabalha;
    }

    public function setInTrabalha($inTrabalha) {
        $this->inTrabalha = $inTrabalha;
        return $this;
    }

    public function getSqGrauEscolaridade() {
        return $this->sqGrauEscolaridade;
    }

    public function setSqGrauEscolaridade($sqGrauEscolaridade) {
        $this->sqGrauEscolaridade = $sqGrauEscolaridade;
        return $this;
    }

    public function getSqProfissao() {
        return $this->sqProfissao;
    }

    public function setSqProfissao($sqProfissao) {
        $this->sqProfissao = $sqProfissao;
        return $this;
    }

    public function getSqRendaFamiliar() {
        return $this->sqRendaFamiliar;
    }

    public function setSqRendaFamiliar($sqRendaFamiliar) {
        $this->sqRendaFamiliar = $sqRendaFamiliar;
        return $this;
    }

    public function getSqInstituicaoEnsino() {
        return $this->sqInstituicaoEnsino;
    }

    public function setSqInstituicaoEnsino($sqInstituicaoEnsino) {
        $this->sqInstituicaoEnsino = $sqInstituicaoEnsino;
        return $this;
    }

    public function getInPlanoSaude() {
        return $this->inPlanoSaude;
    }

    public function setInPlanoSaude($inPlanoSaude) {
        $this->inPlanoSaude = $inPlanoSaude;
        return $this;
    }

    public function getSqPlanoSaude() {
        return $this->sqPlanoSaude;
    }

    public function setSqPlanoSaude($sqPlanoSaude) {
        $this->sqPlanoSaude = $sqPlanoSaude;
        return $this;
    }

    public function getNoPlanoSaude() {
        return $this->noPlanoSaude;
    }

    public function setNoPlanoSaude($noPlanoSaude) {
        $this->noPlanoSaude = $noPlanoSaude;
        return $this;
    }

    public function getSqTipoSanguineo() {
        return $this->sqTipoSanguineo;
    }

    public function setSqTipoSanguineo($sqTipoSanguineo) {
        $this->sqTipoSanguineo = $sqTipoSanguineo;
        return $this;
    }

    public function getInPortadorNecessidade() {
        return $this->inPortadorNecessidade;
    }

    public function setInPortadorNecessidade($inPortadorNecessidade) {
        $this->inPortadorNecessidade = $inPortadorNecessidade;
        return $this;
    }

    public function getDePortadorNecessidade() {
        return $this->dePortadorNecessidade;
    }

    public function setDePortadorNecessidade($dePortadorNecessidade) {
        $this->dePortadorNecessidade = $dePortadorNecessidade;
        return $this;
    }

    public function getInRemedioControlado() {
        return $this->inRemedioControlado;
    }

    public function setInRemedioControlado($inRemedioControlado) {
        $this->inRemedioControlado = $inRemedioControlado;
        return $this;
    }

    public function getDeRemedioControlado() {
        return $this->deRemedioControlado;
    }

    public function setDeRemedioControlado($deRemedioControlado) {
        $this->deRemedioControlado = $deRemedioControlado;
        return $this;
    }

    public function getInPossuiAlergia() {
        return $this->inPossuiAlergia;
    }

    public function setInPossuiAlergia($inPossuiAlergia) {
        $this->inPossuiAlergia = $inPossuiAlergia;
        return $this;
    }

    public function getDeAlergia() {
        return $this->deAlergia;
    }

    public function setDeAlergia($deAlergia) {
        $this->deAlergia = $deAlergia;
        return $this;
    }

    public function getDtInscricao() {
        return $this->formataDateTimeToDate($this->dtInscricao);
    }

    public function setDtInscricao($dtInscricao) {
        $this->dtInscricao = $this->formataDateFromDateTime($dtInscricao);
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function toArray() {
        return array(
            'sqPessoa' => $this->getSqPessoa()->getSqPessoa(),
            'coCadastro' => $this->getCoCadastro(),
            'inEstuda' => $this->getInEstuda(),
            'inTrabalha' => $this->getInTrabalha(),
            'sqGrauEscolaridade' => $this->getSqGrauEscolaridade()->getSqGrauEscolaridade(),
            'sqProfissao' => $this->getSqProfissao()->getSqProfissao(),
            'sqRendaFamiliar' => $this->getSqRendaFamiliar()->getSqRendaFamiliar(),
            'sqInstituicaoEnsino' => $this->getSqInstituicaoEnsino()->getSqInstituicaoEnsino(),
            'inPlanoSaude' => $this->getInPlanoSaude(),
            'sqPlanosaude' => $this->getSqPlanoSaude()->getSqPlanoSaude(),
            'noPlanosaude' => $this->getNoPlanoSaude(),
            'sqTipoSanguineo' => $this->getSqTipoSanguineo()->getSqTipoSanguineo(),
            'inPortadorNecessidade' => $this->getInPortadorNecessidade(),
            'dePortadorNecessidade' => $this->getDePortadorNecessidade(),
            'inRemedioControlado' => $this->getInRemedioControlado(),
            'deRemedioControlado' => $this->getDeRemedioControlado(),
            'inPossuiAlergia' => $this->getInPossuiAlergia(),
            'deAlergia' => $this->getDeAlergia(),
            'dtInscicao' => $this->getDtInscricao(),
            'stAtivo' => $this->getStAtivo()
        );
    }

}
